springboot 您所在的位置:网站首页 jar 运行 日志 springboot

springboot

2023-11-27 00:59| 来源: 网络整理| 查看: 265

springboot–打jar包,war包 打war包的过程

springboot内置了Tomcat服务器,可以使用maven的打包工具进打包。

1.配置一下pom文件,选择打包方式,加入jsp依赖,还有war包的名称

4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.0 war com 037-springboot-jar 1.0.0 037-springboot-jar Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot-starter-test test SpringbootWar src/main/webapp META-INF/resources *.* src/main/resources **/*.* org.springframework.boot spring-boot-maven-plugin

2.创建一个控制器类(UserController)

package com.web; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; @Controller public class UserController { @RequestMapping(value = "/user/detail") @ResponseBody public Object userDetail(){ HashMap hashMap = new HashMap(); hashMap.put("id", 1001); hashMap.put("username", "lisi"); return hashMap; } @RequestMapping(value = "/user/page/detail") public ModelAndView userPageDetail(){ ModelAndView mv = new ModelAndView(); mv.addObject("id", 1001); mv.addObject("username", "wangwu"); mv.setViewName("userDetail"); return mv; } }

3. 需要入口方法application继承SpringBootServletInitializer:

package com; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { //参数为当前springboot启动类 //构建新资源 return builder.sources(Application.class); } }

4.使用maven里面的package功能,会在target文件里面生成war包,生成的war包放入tomcat文件夹里的webapp文件夹下面,在运行tomcat服务器,需要在url地址里面加入资源路径名,也就是war包的名字,就可以运行了 在这里插入图片描述

打Jar包的过程

打jar包的过程比较简单,不需要在pom文件中声明打jar包,因为默认的就是打jar包,程序入口main方法也不需要的继承其他类。下面是代码示例: 1.配置pom文件,和war包的配置过程类似

4.0.0 org.springframework.boot spring-boot-starter-parent 2.5.0 com 037-springboot-jar 1.0.0 037-springboot-jar Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web org.apache.tomcat.embed tomcat-embed-jasper org.springframework.boot spring-boot-starter-test test springbootjar src/main/webapp META-INF/resources *.* src/main/resources **/*.* org.springframework.boot spring-boot-maven-plugin 1.4.2.RELEASE

2.使用maven的package打包工具,target文件夹会出现jar包,将jar包放入到的任意一个文件夹,并在地址栏里面输入cmd,可以打开cmd命令界面,并进入到相应的文件夹,输入java -jar springbootjar.jar指令可以运行jar包,自动打开tomcat服务器。之后再浏览器输入url地址,不需要项目名称,和使用开发工具一样的用法。 在这里插入图片描述 war包需要放到tomcat服务器中运行,也就是放到tomcat的webapp目录下,war包的工程以本地的tomcat服务器的端口号为准;jar包使用的是内嵌的tomcat服务器,以核心配置文件的端口号的,根路径为准。 我们还可以在同级目录下写一个bat后缀的文件,里面写入java -jar springbootjar.jar指令,之后我们点击这个bat文件就可以直接启动这个jar包 在这里插入图片描述

springboot集成logback日志

springboot工程在创建好的项目里面已经集成了logback日志,所以不需要添加的额外的依赖。 1.需要在资源文件夹resources里面加入日志配置文件,这个配置文件的名字有格式要求,必须是-spring结尾的(logback-spring.xml):

%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n ${logPath}/info/%d.log ${maxHistory} ERROR %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n ${logPath}/error/%d.log 60

2.想要在日志文件里面输出消息,需要在IDEA里面添加lomok插件,还需要添加@Slf4j注解:

package com.web; import com.servcie.StudentService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; @Controller @Slf4j public class StudentController { @Resource private StudentService studentService; @RequestMapping(value = "/student/count") @ResponseBody public String studentCount(){ log.info("查询当前学生总人数"); Integer studentCount = studentService.queryStudentCount(); return "学生总人数为:" + studentCount; } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有